From e24387006f4d164399c0c07e37c6419f8e0b4404 Mon Sep 17 00:00:00 2001 From: Rich Megginson Date: Mon, 2 Oct 2023 14:40:32 -0600 Subject: [PATCH] System Roles update 1.23.0-2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves: RHEL-3253 RHEL for Edge support in system roles except for nbde_client, rhc, metrics Resolves: RHEL-17668 ad_integration - feat: Add sssd custom settings Resolves: RHEL-16541 fapolicyd - feat: Import code for fapolicyd system role Resolves: RHEL-15910 ha_cluster - [RFE] HA Cluster system role should be able to enable Resilient Storage repository Resolves: RHEL-15908 ha_cluster - [FutureFeature] Allow ha_cluster role to configure all qdevice options Resolves: RHEL-15876 ha_cluster - [FutureFeature] Allow ha_cluster role to configure fencing topology Resolves: RHEL-3353 kdump - fix: retry read of kexec_crash_size Resolves: RHEL-15932 logging - feat: Add support for the global config option preserveFQDN with a new logg… Resolves: RHEL-15439 logging - feat: Add support for general queue and general action parameters Resolves: RHEL-15037 logging - fix: check that logging_max_message_size is set, not rsyslog_max_message_size Resolves: RHEL-13760 metrics - [RFE] Metrics system role support for configuring PMIE webhooks Resolves: RHEL-1683 network - Ansible RHEL network system role issue with ipv6.routing-rules the prefix length for 'from' cannot be zero" Resolves: RHEL-15870 selinux - fix: Use `ignore_selinux_state` module option Resolves: RHEL-16212 storage - feat: Support for creating volumes without a FS --- .gitignore | 31 ++++++++ CHANGELOG.md | 25 ++++++ extrasources.inc | 8 +- linux-system-roles.spec | 113 ++++++++++++++++---------- sources | 55 ++++++------- vendoring-build.inc | 170 +++++++++++++++++++--------------------- 6 files changed, 242 insertions(+), 160 deletions(-) diff --git a/.gitignore b/.gitignore index 201a359..201d73c 100644 --- a/.gitignore +++ b/.gitignore @@ -613,3 +613,34 @@ /community-general-7.4.0.tar.gz /logging-1.11.10.tar.gz /ad_integration-1.2.3.tar.gz +/community-general-7.5.0.tar.gz +/ansible-utils-2.11.0.tar.gz +/auto-maintenance-de0c8746052a421e9f264fd3b1ade3093a048b8a.tar.gz +/community-general-8.0.2.tar.gz +/containers-podman-1.11.0.tar.gz +/auto-maintenance-e79c932a69b8857b4b516bfdb38fdaac00544407.tar.gz +/postfix-1.4.1.tar.gz +/selinux-1.7.1.tar.gz +/timesync-1.8.0.tar.gz +/kdump-1.4.2.tar.gz +/network-1.14.1.tar.gz +/storage-1.14.1.tar.gz +/tlog-1.3.0.tar.gz +/kernel_settings-1.2.0.tar.gz +/logging-1.12.2.tar.gz +/nbde_server-1.4.0.tar.gz +/certificate-1.3.1.tar.gz +/crypto_policies-1.3.0.tar.gz +/ansible-sshd-v0.23.0.tar.gz +/ssh-1.3.0.tar.gz +/ha_cluster-1.13.0.tar.gz +/vpn-1.6.0.tar.gz +/firewall-1.7.1.tar.gz +/cockpit-1.5.0.tar.gz +/podman-1.4.0.tar.gz +/ad_integration-1.3.0.tar.gz +/journald-1.1.0.tar.gz +/postgresql-1.2.0.tar.gz +/systemd-1.1.0.tar.gz +/keylime_server-1.1.0.tar.gz +/fapolicyd-1.0.0.tar.gz diff --git a/CHANGELOG.md b/CHANGELOG.md index 07fce60..c85f971 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,30 @@ Changelog ========= +[1.23.0] - 2023-11-30 +---------------------------- + +### New Features + +- [Use .README.html in spec instead of generating it](https://issues.redhat.com/browse/RHEL-5346) +- [RHEL for Edge support in system roles](https://issues.redhat.com/browse/RHEL-3253) +- [ad_integration - feat: Add sssd custom settings](https://issues.redhat.com/browse/RHEL-17668) +- [ad_integration - Enable AD dynamic DNS updates](https://issues.redhat.com/browse/RHEL-1118) +- [fapolicyd - feat: Import code for fapolicyd system role](https://issues.redhat.com/browse/RHEL-16541) +- [ha_cluster - [RFE] HA Cluster system role should be able to enable Resilient Storage repository](https://issues.redhat.com/browse/RHEL-15910) +- [ha_cluster - [FutureFeature] Allow ha_cluster role to configure all qdevice options](https://issues.redhat.com/browse/RHEL-15908) +- [ha_cluster - [FutureFeature] Allow ha_cluster role to configure fencing topology](https://issues.redhat.com/browse/RHEL-15876) +- [logging - feat: Add support for the global config option preserveFQDN](https://issues.redhat.com/browse/RHEL-15932) +- [logging - feat: Add support for general queue and general action parameters](https://issues.redhat.com/browse/RHEL-15439) +- [metrics - [RFE] Metrics system role support for configuring PMIE webhooks](https://issues.redhat.com/browse/RHEL-13760) +- [sshd - ansible-sshd Manage SSH certificates](https://issues.redhat.com/browse/RHEL-5972) +- [storage - feat: Support for creating volumes without a FS](https://issues.redhat.com/browse/RHEL-16212) + +### Bug Fixes + +- [kdump - fix: retry read of kexec_crash_size](https://issues.redhat.com/browse/RHEL-3353) +- [logging - fix: check that logging_max_message_size is set, not rsyslog_max_message_size](https://issues.redhat.com/browse/RHEL-15037) +- [network - Ansible RHEL network system role issue with ipv6.routing-rules the prefix length for 'from' cannot be zero"](https://issues.redhat.com/browse/RHEL-1683) +- [selinux - fix: Use `ignore_selinux_state` module option](https://issues.redhat.com/browse/RHEL-15870) [1.22.0] - 2023-08-15 ---------------------------- diff --git a/extrasources.inc b/extrasources.inc index abde626..6d0aa11 100644 --- a/extrasources.inc +++ b/extrasources.inc @@ -1,10 +1,10 @@ Source801: https://galaxy.ansible.com/download/ansible-posix-1.5.4.tar.gz -Source901: https://galaxy.ansible.com/download/community-general-7.4.0.tar.gz -Source902: https://galaxy.ansible.com/download/containers-podman-1.10.3.tar.gz +Source901: https://galaxy.ansible.com/download/community-general-8.0.2.tar.gz +Source902: https://galaxy.ansible.com/download/containers-podman-1.11.0.tar.gz Provides: bundled(ansible-collection(ansible.posix)) = 1.5.4 -Provides: bundled(ansible-collection(community.general)) = 7.4.0 -Provides: bundled(ansible-collection(containers.podman)) = 1.10.3 +Provides: bundled(ansible-collection(community.general)) = 8.0.2 +Provides: bundled(ansible-collection(containers.podman)) = 1.11.0 Source996: CHANGELOG.rst Source998: collection_readme.sh diff --git a/linux-system-roles.spec b/linux-system-roles.spec index 7f94ec1..d0b78ca 100644 --- a/linux-system-roles.spec +++ b/linux-system-roles.spec @@ -19,7 +19,7 @@ Name: linux-system-roles Url: https://github.com/linux-system-roles Summary: Set of interfaces for unified system management Version: 1.23.0 -Release: 2%{?dist} +Release: 2.1%{?dist} License: GPLv3+ and MIT and BSD and Python %global _pkglicensedir %{_licensedir}/%{name} @@ -33,6 +33,9 @@ License: GPLv3+ and MIT and BSD and Python %endif %global collection_version %{version} +# this is where we stage the collection files for building +%global collection_dest_path .collections +%global collection_build_path %{collection_dest_path}/ansible_collections/%{collection_namespace}/%{collection_name} # be compatible with the usual Fedora Provides: Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{collection_version}-%{release} @@ -78,92 +81,95 @@ Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0) %%global rolestodir %%{?rolestodir} %%{roletodir%{1}} } -%global mainid eadd06cfa98d244b096cff24cd11b668428b1613 +%global mainid e79c932a69b8857b4b516bfdb38fdaac00544407 Source: %{url}/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz # BEGIN AUTOGENERATED SOURCES %global rolename1 postfix -%deftag 1 1.3.9 +%deftag 1 1.4.1 %global rolename2 selinux -%deftag 2 1.6.3 +%deftag 2 1.7.1 %global rolename3 timesync -%deftag 3 1.7.7 +%deftag 3 1.8.0 %global rolename4 kdump -%deftag 4 1.3.8 +%deftag 4 1.4.2 %global rolename5 network -%deftag 5 1.13.2 +%deftag 5 1.14.1 %global rolename6 storage -%deftag 6 1.12.4 +%deftag 6 1.14.1 %global rolename7 metrics %deftag 7 1.8.7 %global rolename8 tlog -%deftag 8 1.2.17 +%deftag 8 1.3.0 %global rolename9 kernel_settings -%deftag 9 1.1.18 +%deftag 9 1.2.0 %global rolename10 logging -%deftag 10 1.11.10 +%deftag 10 1.12.2 %global rolename11 nbde_server -%deftag 11 1.3.9 +%deftag 11 1.4.0 %global rolename12 nbde_client %deftag 12 1.2.15 %global rolename13 certificate -%deftag 13 1.2.2 +%deftag 13 1.3.1 %global rolename14 crypto_policies -%deftag 14 1.2.12 +%deftag 14 1.3.0 %global forgeorg15 https://github.com/willshersystems %global repo15 ansible-sshd %global rolename15 sshd -%deftag 15 v0.21.0 +%deftag 15 v0.23.0 %global rolename16 ssh -%deftag 16 1.2.2 +%deftag 16 1.3.0 %global rolename17 ha_cluster -%deftag 17 1.10.1 +%deftag 17 1.13.0 %global rolename18 vpn -%deftag 18 1.5.9 +%deftag 18 1.6.0 %global rolename19 firewall -%deftag 19 1.6.4 +%deftag 19 1.7.1 %global rolename20 cockpit -%deftag 20 1.4.8 +%deftag 20 1.5.0 %global rolename21 podman -%deftag 21 1.3.3 +%deftag 21 1.4.0 %global rolename22 ad_integration -%deftag 22 1.2.3 +%deftag 22 1.3.0 %global rolename23 rhc %deftag 23 1.2.5 %global rolename24 journald -%deftag 24 1.0.6 +%deftag 24 1.1.0 %global rolename25 postgresql -%deftag 25 1.1.1 +%deftag 25 1.2.0 %global rolename26 systemd -%deftag 26 1.0.2 +%deftag 26 1.1.0 %global rolename27 keylime_server -%deftag 27 1.0.1 +%deftag 27 1.1.0 + +%global rolename28 fapolicyd +%deftag 28 1.0.0 Source1: %{archiveurl1} Source2: %{archiveurl2} @@ -192,6 +198,7 @@ Source24: %{archiveurl24} Source25: %{archiveurl25} Source26: %{archiveurl26} Source27: %{archiveurl27} +Source28: %{archiveurl28} # END AUTOGENERATED SOURCES # Includes with definitions/tags that differ between RHEL and Fedora @@ -257,7 +264,7 @@ end %prep # BEGIN AUTOGENERATED SETUP -%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -a21 -a22 -a23 -a24 -a25 -a26 -a27 -n %{getarchivedir 0} +%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -a21 -a22 -a23 -a24 -a25 -a26 -a27 -a28 -n %{getarchivedir 0} # END AUTOGENERATED SETUP # vendoring prep steps, if any @@ -384,7 +391,9 @@ for role in %{rolenames}; do sed -e "1,14 {\\,${matchstr},d; /\!\[/d}" -i $role/README.md done -mkdir .collections +if [ ! -d %{collection_dest_path} ]; then + mkdir %{collection_dest_path} +fi %if 0%{?rhel} # Convert the upstream collection readme to the downstream one %{SOURCE998} lsr_role2collection/collection_readme.md @@ -422,31 +431,31 @@ extra_mapping="--extra-mapping fedora.linux_system_roles:%{collection_namespace} extra_mapping="" %endif LANG=C.utf-8 LC_ALL=C.utf-8 %{python3} release_collection.py --galaxy-yml galaxy.yml \ - --src-path $(pwd) --dest-path $(pwd)/.collections $includes --force --no-update \ + --src-path $(pwd) --dest-path $(pwd)/%{collection_dest_path} $includes --keep --no-update \ --src-owner %{name} --skip-git --skip-check --skip-changelog $extra_mapping --debug # Remove internal links from readme files # They are not rendered properly on AH. for role in %{rolenames}; do sed -r -i -e 's/\[([^[]+)\]\(#[^)]+\)/\1/g' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/roles/$role/README.md + %{collection_build_path}/roles/$role/README.md done # Remove test only collection dependencies # NOTE: These should not be in meta/collection-requirements.yml, they should be # in tests/collection-requirements.yml, but they can't be moved yet sed -i -e '/community[.]mysql:/d' -e '/community[.]postgresql:/d' \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/galaxy.yml + %{collection_build_path}/galaxy.yml cp %{SOURCE995} \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/docs/CHANGELOG.md + %{collection_build_path}/docs/CHANGELOG.md %if 0%{?rhel} cp %{SOURCE996} \ - .collections/ansible_collections/%{collection_namespace}/%{collection_name}/CHANGELOG.rst + %{collection_build_path}/CHANGELOG.rst %endif # Build the collection -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ +pushd %{collection_build_path} %ansible_collection_build popd @@ -514,7 +523,13 @@ done rm -f %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/semaphore rm -r %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/molecule -rm -r %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/.[A-Za-z]* +# remove .dot files/directories, but keep the .ostree directory +for item in %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/.[A-Za-z]*; do + if [ "$(basename "$item")" = .ostree ]; then + continue + fi + rm -r "$item" +done rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git* # NOTE: sshd/examples/example-root-login.yml is @@ -522,7 +537,7 @@ rm %{buildroot}%{ansible_roles_dir}/%{roleinstprefix}*/tests/.git* # must be updated if changing the file path # Install the collection -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ +pushd %{collection_build_path} %ansible_collection_install popd @@ -546,9 +561,9 @@ done %if %{with collection_artifact} # Copy collection artifact to /usr/share/ansible/collections/ for collection-artifact -pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ - mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ - %{buildroot}%{_datadir}/ansible/collections/ +pushd %{collection_build_path} +mv %{collection_namespace}-%{collection_name}-%{version}.tar.gz \ + %{buildroot}%{_datadir}/ansible/collections/ popd %endif @@ -645,11 +660,29 @@ find %{buildroot}%{ansible_roles_dir} -mindepth 1 -maxdepth 1 | \ %endif %changelog +* Thu Nov 30 2023 Rich Megginson - 1.23.0-2.1 +- Resolves: RHEL-3253 : RHEL for Edge support in system roles + except for nbde_client, rhc, and metrics +- Resolves: RHEL-17668 : ad_integration - feat: Add sssd custom settings +- Resolves: RHEL-16541 : fapolicyd - feat: Import code for fapolicyd system role +- Resolves: RHEL-15910 : ha_cluster - [RFE] HA Cluster system role should be able to enable Resilient Storage repository +- Resolves: RHEL-15908 : ha_cluster - [FutureFeature] Allow ha_cluster role to configure all qdevice options +- Resolves: RHEL-15876 : ha_cluster - [FutureFeature] Allow ha_cluster role to configure fencing topology +- Resolves: RHEL-3353 : kdump - fix: retry read of kexec_crash_size +- Resolves: RHEL-15932 : logging - feat: Add support for the global config option preserveFQDN +- Resolves: RHEL-15439 : logging - feat: Add support for general queue and general action parameters +- Resolves: RHEL-15037 : logging - fix: check that logging_max_message_size is set, not rsyslog_max_message_size +- Resolves: RHEL-13760 : metrics - [RFE] Metrics system role support for configuring PMIE webhooks +- Resolves: RHEL-1683 : network - Ansible RHEL network system role issue with ipv6.routing-rules the prefix length for 'from' cannot be zero" +- Resolves: RHEL-15870 : selinux - fix: Use `ignore_selinux_state` module option +- Resolves: RHEL-5972 : sshd - ansible-sshd Manage SSH certificates +- Resolves: RHEL-16212 : storage - feat: Support for creating volumes without a FS + * Thu Nov 9 2023 Sergei Petrosian - 1.23.0-2 - RHEL-1118: ad_integration: Support for dynamic DNS Updates Update to a new version with fixed tests -* Wed Sep 20 2023 Sergei Petrosian - 1.53.0-1 +* Wed Sep 20 2023 Sergei Petrosian - 1.23.0-1 - Resolves: RHEL-5346 spec - Remove with_html, instead use built-in .README.html - Resolves: RHEL-5972 ansible-sshd - Manage SSH certificates - rhbz#2223764: Remove ad_integration patch and use the latest ad_integration diff --git a/sources b/sources index 3614f79..9499b3d 100644 --- a/sources +++ b/sources @@ -1,31 +1,32 @@ -SHA512 (ad_integration-1.2.3.tar.gz) = 7559f5e594ea03e1a8e1bd29b6c5f7a7564eb1a64d15e94a3f738a30272dd171746c33313bec0aef051c065db453990178cefb9aad22b382e5a4bb2306a65f4a +SHA512 (ad_integration-1.3.0.tar.gz) = f01ca282aa73cf6d2f422a7d97bd95c95e830479c9eda96b26606cb75bd2b4dd3b090958d7f096a78e9ab26c7ab8ac52ace8ed13a75ce71f49e8eace8dde159c SHA512 (ansible-posix-1.5.4.tar.gz) = 63321c2b439bb2c707c5bea2fba61eaefecb0ce1c832c4cfc8ee8bb89448c8af10e447bf580e8ae6d325c0b5891b609683ff2ba46b78040e2c4d3d8b6bdcd724 -SHA512 (ansible-sshd-v0.21.0.tar.gz) = 38230da8389f3edbbe3c146756cf4697ede181f6cbed02cc215b35efeec948ef42c241fb02c8d5eece3dc1b6eec21a8ea4666d8ec8dab36885b2bdd0d368bba8 -SHA512 (auto-maintenance-eadd06cfa98d244b096cff24cd11b668428b1613.tar.gz) = 0e5e45f8d7a05a4fee7916edb5628cdb105bab9f7770bb752fd229d13ea0d586b2938d8de5d60c14b2ff9d28d5f1bca7201b6197abf2af1e223404f0a8742068 -SHA512 (certificate-1.2.2.tar.gz) = cea7ef52def7d5f12360cb12cc41341eebeff52639a1bf56c6d46d72598f7944d743abba05e23fab241a144cd4ea605d45ad1b60bb5ce9e6dc2c52cf557cf476 -SHA512 (cockpit-1.4.8.tar.gz) = 266d03d517d4e0d4eee9b39af5f4bfc0f921f5faeb7f6dd757e8a440df60b355d67a84c7cc3fe50827b8c37e6cfd5780435b35daef5b7894ccd5e22c4408de6c -SHA512 (community-general-7.4.0.tar.gz) = 68e51cdc8cabf05db2b46cf4ee2a373cfc2588fda1475655f9319a8f1f270a69ffa380656a6924fd9f6e10af4bdb9c988232931b7a744c47277ebc17c1b19498 -SHA512 (containers-podman-1.10.3.tar.gz) = 5234d12ab5a870bc08553e5a51d06f75dfa73f22764378ffb2053b55cb306fc7ec1f24d399f414cac8213de4c34211c33d947c02d823da6ef2ee31bdbb7c1fad -SHA512 (crypto_policies-1.2.12.tar.gz) = 01d290536616147ab07571dfbb597681d406bad7623cb370bfae53c4a5d234d7467eda1127cc89527771936eec571f019eeb73d1819c7951c7ef74f29b03238b -SHA512 (firewall-1.6.4.tar.gz) = b8aa8182b35d51d2797d92538b13df9a94ea60864dc97e4736c0fbdb7134ac2b0f8f058b5cfe86b5725e77db94c1d72a582201de210fa69ba21d1a6dbf224f95 -SHA512 (ha_cluster-1.10.1.tar.gz) = b5d12aa0c495b209f4858699892b2fae8d57290b9d42cc567593164286d70b91147ce5aa6c727053b6ced28c9ef6bdaa97ac65a9bab042e9fe2f8c681f05f1ac -SHA512 (journald-1.0.6.tar.gz) = 64cc62b9209a9447e03a14fe2782c72516ffbd35b36ff3a629eb65a4d48b18cd5d1a3511312300e18951531d41141d23c10fa1fcebdbd447877e415565c84bf8 -SHA512 (kdump-1.3.8.tar.gz) = f415cd3e95e2f803dc20f19c98bf3e09fa2e3e8e3bef681af30cbe7cade9e7efdedc5671feddb532d66306d69acea1605f5ca0cd0cd7119a9b6dade493adf3e8 -SHA512 (kernel_settings-1.1.18.tar.gz) = ee5917dbd2f186e43cebdb04d6b4553fa322d8e466f8874e9141f069317ecd15aa60003f898bb701dd056ccc96c1a4f94109e393d3915cbf282cd46f4365c4a7 -SHA512 (keylime_server-1.0.1.tar.gz) = d0cd3599dae71662f9ca926e5f52b27ff9f9530870e181a25bd0c9ef51772600b0c540d478154558278330527bf8dac46b436b52952aba4b536af61c50640b19 -SHA512 (logging-1.11.10.tar.gz) = d606ba04c91e22795c078c72651d34a84e4a9eecd3b83eedc745a3a062338b014731d5306eb3fce3abae8450d9ca78bd240b51c2d529160b3675966fd7ef2097 +SHA512 (ansible-sshd-v0.23.0.tar.gz) = 5a027189430cf24f149ed1bef5477db5822c1f9e395653c7a76530318c5c993bce0292fc79a493be8ca41c9c670c303d1beeaaef13cd4fff37ce89b9586e852a +SHA512 (auto-maintenance-e79c932a69b8857b4b516bfdb38fdaac00544407.tar.gz) = f90d82d8725e1d376a62aaf67a29eb13fe95bdb05c4c045f0269c3cd4a3e86c3e2490ad3da6399df9242bae626532c4816e46f5f4ed7f642157fafdaef72c74b +SHA512 (certificate-1.3.1.tar.gz) = ea303386b03f481e5d3c2f889fe5dbe0f30ca0ce518236eea99ff5149766e1976392cf979aa7170c10dc1f929e330570dccdb071589d0dabce5f438bf07d77ff +SHA512 (cockpit-1.5.0.tar.gz) = bfee33fdc0e6ddf12df49db8c518b5cc7093c48231d2fe7661c911f1843c2ba5c92dafa0bc7178aa7e6867bbb7ae971dae93f8fca864c7bdafe0108fefeb4169 +SHA512 (community-general-8.0.2.tar.gz) = 1577bb52077070e25c29bc203b27d858ee909d902f3f96b5566689dccb8b07056158fc8e060fd4261bf51afec53fb17597584fa4c9515d062fa8d87821f11795 +SHA512 (containers-podman-1.11.0.tar.gz) = a8cec5662692cba6a56306805f9919322960068d335035da39ae7b201f9e461752cbc501c46311d1c2072e21b4749daef7a5f43cde0958c479826040c9b5a439 +SHA512 (crypto_policies-1.3.0.tar.gz) = 4dec3ef1fb503684cc1f0a6b7de127286531482191bcb9ee19f899fe4ca74eb72dc86f145b6265031e9c871f324aab8bd8daef13fee48f774ed7666f86d7b773 +SHA512 (fapolicyd-1.0.0.tar.gz) = c06ba5b1c0718587f11e25685a9112a2005ee0dd5f88d96d32e833e70b409c14413258c37252e058efb07a21214800b41a34d8f61ea804316ed9f5081b5b9e3f +SHA512 (firewall-1.7.1.tar.gz) = 3a342041f64c80941f1b3b0fff55f53fb687239e8f47c51b6cb599cd4c44b859d926ca31135591eb2ec5920ae0bf16239ae33c2fbe20dfb48f62dd7c82c1f38d +SHA512 (ha_cluster-1.13.0.tar.gz) = 94e87995b563e7572dcdf88b199cdfb5a174b0a25c644998d18c7e237256b2aaf31cffc918c6ca2c3d201b0943c9c529ab78c5aed2bc56a19c0416021fa51671 +SHA512 (journald-1.1.0.tar.gz) = 40918776a2d0b4e687a84023b44222fbd51a0b03098e1d7880f7ad7647d1c81bb3bee26d86a0510f5ea5842e8d3f59c160a71e313d9adb321defee53cba70c45 +SHA512 (kdump-1.4.2.tar.gz) = cc7ec1803214e71fd801c1a37fde7c0fd2ddbaa75c128930cd4033340ed3bf883ed1544cdb03cb518c0fc92ad589b377f0ea34ac4b29e7e6a93dabd0b2d5eee9 +SHA512 (kernel_settings-1.2.0.tar.gz) = 70a5ead7d3debb7f28eb033c3f5f78184b7b0cde0cffe9568df4c12cce59297d057824ae11da9f475069b8dc0ee737997000ea890ca7245cbfc9fd8f0d492fa6 +SHA512 (keylime_server-1.1.0.tar.gz) = 76249af4b4102a15f8546da974ceafb5c8fe58b8d916016fd0b47a9eef93799e81ce479ac735ca9235dc814dea227a544c1f21c2c801c583ba39c616163b5153 +SHA512 (logging-1.12.2.tar.gz) = 74184ad8ac25d5cf9791f4b9bcfb22eaa61136fbe913a3b28b34301e1727b52b71acd05c05fdf5f8929e7fb5bbd9bf47a1165f16bf59ed98ea977aecb7c22eda SHA512 (metrics-1.8.7.tar.gz) = fa6fedb4f3d17ad8e24a4f878267653bb4e18f3c114245efd1b8cba2113d56471481ad1d67e5a106d9b648859fe2d3f1cc37d24aa718f846d54d73d397bfb15b SHA512 (nbde_client-1.2.15.tar.gz) = 6d3527018cf570f15fc35dc20e5cca9d1685e5a5213397387579e8a17172a766c90625da99ac744a38e75107b582c3106b772c6e7d2ecbab32ba7b3262781796 -SHA512 (nbde_server-1.3.9.tar.gz) = 3bf6fdd5a55acd6a46f8f03af793fdac8c33a5f509b992b97318b52e9a53f33987ee0f20b36da52fca97e4693118d098fd7af7c0ae01503633a563ad22021bd0 -SHA512 (network-1.13.2.tar.gz) = 55ea84a7ec0ff52f7f5855c5e1d8b8c1a5dc5878b118430b9dbde2edf50cf0e80660e71d687a47943369ef525625c4c41cade2d170623f526953c587caebc235 -SHA512 (podman-1.3.3.tar.gz) = 984bdc6b5972774965b8bfbbfa66fbe9c1d436b95c6b3c5cbcff9748f3d28d2b3e17bc014ffb5edcf13231ed25f5692fdad4af3bba88b7f7097542cf6bcf8566 -SHA512 (postfix-1.3.9.tar.gz) = 34ae431a8a73ee6eec35a50a8845c10ca5d2eec82d5181416a4c86838b22ad777ce2913540fb0c40ab7e899946bca09d950912a3453589505cda194ebcfdf3c5 -SHA512 (postgresql-1.1.1.tar.gz) = 988d6a673bee25a7438877890ceedcb28f0c9cc366934696cb38b170eff99571a1616c65c8d6f8e37ef09fcd5b9d05311a103f80741e33d6c18e3a408495032b +SHA512 (nbde_server-1.4.0.tar.gz) = 8f503a6d1c156ea7ac71f906102c80f99304d7cec06f5ea150a288bc7796e2bc069ed7abc59505b6d598f45c6e6c0772e1de316e5fe12fa320b1b9688633c025 +SHA512 (network-1.14.1.tar.gz) = 5683d66160c93c0ce1d4f718d9ebe0ea9cdbc34b5d4d2d853f17561ff6e17b1a3bd97ab68725dcd05271f7698b24ed184ecdc849155062d9af6869a65def0ac7 +SHA512 (podman-1.4.0.tar.gz) = 2c032bb0808e92a8d96fe6c4974ec3d8840229810b827375ce3f669ec253eb032b6e9b3313b647e1edbeb6c3367a8d259203dbbce8ab8f00a6af2033d1f7b9f8 +SHA512 (postfix-1.4.1.tar.gz) = 60aa65b9603fb07c4937c32d179009001548984f8f8cbc0dd22c75533e52802a28f459040d20cafffb8ea2c59c4e5d03d0d810ec9a1ab706af60b99f77fbcdba +SHA512 (postgresql-1.2.0.tar.gz) = a9b28bf0bf5bb81a91eae70975c12b8f544752703bdf20cfe3ee6e4f594234bf40fc83441e39fbf02f518062caf8d0f17bf39710b7233b9e29d181dfb4b9360b SHA512 (rhc-1.2.5.tar.gz) = 5c7ab5c687078f69d35e852b7cb6f805e5daafae0c9333bac2a0a654fb848d3b8ce7b07a1115e6eeede02931d80c8b0de10206d48efacfc2bb9bec819c580c06 -SHA512 (selinux-1.6.3.tar.gz) = 110a736a5e91cd68bb5fd2e6a7ea35482f710b0d997187a2502b7b9f8f891569a19b48ecbadce403a4a8d208b1032aad9a800176e8442eac0b6d215a8e9802ee -SHA512 (ssh-1.2.2.tar.gz) = 3eb83f66cefe0b696ad853feceae6b556bf195c41f18edb122353226e7eff187d2befd9a83a0b3483d7b545e291d2ce45c8e5655bf89764dc65de394a708a6a2 -SHA512 (storage-1.12.4.tar.gz) = 3dd2e2e5096c532ab351e4b2112739f31e78045c477098fa8835cb37542463dae7a90dc5e2160757002dbc8a2eaf8d2e66992c0c8a65f1ed55470bfc69a525c5 -SHA512 (systemd-1.0.2.tar.gz) = 83a0f52d0b271f80aabf298dfddc1782d68d96ba800f1cba86da68895f6d6ed5d0f2e3eb4a433ede496f88a92b8c8ddf1fb3ac2940329501255a420e993031d2 -SHA512 (timesync-1.7.7.tar.gz) = 9446bea552ce4c7c794671440b72c692b3c7326a0e1d606dc43f928e1b18fadbc6bffc63ceb93abf891e8833ed7e790a6efe66688dc41126bc95323560b078aa -SHA512 (tlog-1.2.17.tar.gz) = 404cbe1909824af707342b9bc95f656742a02a18077953b4b45326cf9e033beb02165ffeb649a39a97c802b1756f49b3cdc502535da0c6bf3b747673f767609a -SHA512 (vpn-1.5.9.tar.gz) = ac8ee6dab70f7a92d7314a7bca3903adb699281d86be6444d2864fea6cc18e8e74e00ff1d0a9df3a1ce7f287e1e2ff3546881b420c472f213a8c7c3b17d86992 +SHA512 (selinux-1.7.1.tar.gz) = d35a48878e88a1dd115bf080aae9f56edd2546352231d81d906fcfcf072d8da60c59708b18fcb3b71bd81948459e90ae6acad685b6bf874ab144787f8f45d556 +SHA512 (ssh-1.3.0.tar.gz) = 56842ee2c071ace66631d0c3f47524171d25b5d25496e6f46aceff7e5f2a8da0c17070972dea1da7020c799dacc0c1ea468a5e49608b51412881ed540c96393a +SHA512 (storage-1.14.1.tar.gz) = 9fa3c43204b904d8373526c3b943f9bd5cc68641108afa03099a74d2b0f8f4fa23c1eb7440b2bf467ec39f66e315f7afef0361e0d802a082371777ef8dfff8de +SHA512 (systemd-1.1.0.tar.gz) = 5cc9fd52e33ace6d7529b238c1c1ffd45a15cab9aafce5ef72c72e1178b0ffc127df62f52c76ae512c77d9080939573d88835b3d33d5e489123997796e0d52b7 +SHA512 (timesync-1.8.0.tar.gz) = e271123780900ea3b7adc02c96db17ad058f8fe008afffef66525ec2dc2668246af63b8e898da85216be5c248df3f1d091061fde310abe8e069994bfb4e2df55 +SHA512 (tlog-1.3.0.tar.gz) = 2e2150d42daae3f4afffc1c0f36dbb1426871cf884d2dfff33d95c1ce34fd097bc55326028a6b99815841773b86db7ce59c908d89dd42c8c87d576cfac8763e5 +SHA512 (vpn-1.6.0.tar.gz) = 2adbf37a1b30d36ed7f58f624431e2d29b09e1608644c18ce1bc380ad7c4c79fc46b1ec8c81e44029eca919a3ebd51aa10656e62a0ca3e293c1f6b8302e688d5 diff --git a/vendoring-build.inc b/vendoring-build.inc index ccc99e6..9ca374d 100644 --- a/vendoring-build.inc +++ b/vendoring-build.inc @@ -1,110 +1,102 @@ -# Unpack tar.gz to retrieve to be vendored modules and place them in the roles library. -# ansible.posix: -# - library: -# - Module selinux and seboolean for the selinux role -# - Module mount for the storage role -declare -A module_map=( ["selinux.py"]="selinux" ["seboolean.py"]="selinux" ["mount.py"]="storage" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/library ]; then - mkdir $role/library +# maps the source file to the roles that use that file +# value can be string or space delimited list of strings +# role name `__collection` means - do not vendor into +# role, just vendor directly into the collection +declare -A plugin_map=( + [ansible/posix/plugins/modules/selinux.py]=selinux + [ansible/posix/plugins/modules/seboolean.py]=selinux + [ansible/posix/plugins/modules/mount.py]=storage + [ansible/posix/plugins/modules/rhel_facts.py]=__collection + [ansible/posix/plugins/modules/rhel_rpm_ostree.py]=__collection + [ansible/posix/plugins/module_utils/mount.py]=storage + [community/general/plugins/modules/ini_file.py]="tlog ad_integration" + [community/general/plugins/modules/modprobe.py]=ha_cluster + [community/general/plugins/modules/redhat_subscription.py]=rhc + [community/general/plugins/modules/rhsm_release.py]=rhc + [community/general/plugins/modules/rhsm_repository.py]=rhc + [community/general/plugins/modules/seport.py]=selinux + [community/general/plugins/modules/sefcontext.py]=selinux + [community/general/plugins/modules/selogin.py]=selinux + [containers/podman/plugins/modules/podman_container_info.py]=podman + [containers/podman/plugins/modules/podman_image.py]=podman + [containers/podman/plugins/modules/podman_play.py]=podman + [containers/podman/plugins/modules/podman_secret.py]=podman + [containers/podman/plugins/module_utils/podman/common.py]=podman +) + +declare -a modules mod_utils collection_plugins +declare -A dests +# vendor in plugin files - fix documentation, fragments +for src in "${!plugin_map[@]}"; do + roles="${plugin_map["$src"]}" + if [ "$roles" = __collection ]; then + collection_plugins+=("$src") + else + case "$src" in + */plugins/modules/*) srcdir=plugins/modules; subdir=library; modules+=("$src") ;; + */plugins/module_utils/*) srcdir=plugins/module_utils; mod_utils+=("$src") ;; + */plugins/action/*) srcdir=plugins/action ;; + esac fi - cp -pL .external/ansible/posix/plugins/modules/$module $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' -e "s/ansible_collections.ansible.posix.plugins.module_utils/ansible.module_utils.${role}_lsr/" $role/library/$module -done - -# ansible.posix: -# - module_utils: -# - Module_util mount for the storage role -module_map=( ["mount.py"]="storage" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/module_utils/${role}_lsr ]; then - mkdir -p $role/module_utils/${role}_lsr - fi - cp -pL .external/ansible/posix/plugins/module_utils/$module $role/module_utils/${role}_lsr/$module -done - -# community.general: -# - library: -# - Module seport, sefcontext and selogin for the selinux role rolename2 -# - Module ini_file for role ad_integration, tlog -# - rhc modules -# - ha_cluster uses modprobe -module_map=( ["seport.py"]="selinux" - ["sefcontext.py"]="selinux" - ["selogin.py"]="selinux" - ["ini_file.py"]="ad_integration tlog" - ["redhat_subscription.py"]="rhc" - ["rhsm_release.py"]="rhc" - ["rhsm_repository.py"]="rhc" - ["modprobe.py"]="ha_cluster" ) -for module in "${!module_map[@]}"; do - for role in ${module_map[${module}]}; do - if [ ! -d $role/library ]; then - mkdir $role/library + for role in $roles; do + if [ "$role" = __collection ]; then + dest="%{collection_build_path}/plugins${src/#*plugins/}" + dests["$dest"]=__collection + else + case "$src" in + */plugins/module_utils/*) subdir="module_utils/${role}_lsr" ;; + esac + dest="$role/${src/#*${srcdir}/${subdir}}" + dests["$dest"]="$role" fi - # version 5.x seems to be broken? - moduledir=.external/community/general/plugins/modules - if [ ! -f $moduledir/$module ]; then - moduledir=.external/community/general/plugins/modules/system + destdir="$(dirname "$dest")" + if [ ! -d "$destdir" ]; then + mkdir -p "$destdir" fi - if [ ! -f $moduledir/$module ]; then - moduledir=.external/community/general/plugins/modules/files - fi - cp -pL $moduledir/$module $role/library/$module - ls -alrtF $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' $role/library/$module - - # Remove doc_fragments - sed -i '/^extends_documentation_fragment:/,/^[^ -]/{/^extends/d;/^[ -]/d}' $role/library/$module + cp -pL ".external/$src" "$dest" + sed -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this plugin directly! It is only for role internal use.\n\1/' \ + -e '/^extends_documentation_fragment:/,/^[^ -]/{/^extends/d;/^[ -]/d}' \ + -i "$dest" done done -# containers.podman: -# - library: -# - Module podman_container_info, podman_image and podman_play for the podman role -module_map=( ["podman_container_info.py"]="podman" ["podman_image.py"]="podman" ["podman_play.py"]="podman" - ["podman_secret.py"]="podman" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/library ]; then - mkdir $role/library - fi - moduledir=.external/containers/podman/plugins/modules - cp -pL $moduledir/$module $role/library/$module - ls -alrtF $role/library/$module - sed -i -e ':a;N;$!ba;s/description:\n\( *\)/description:\n\1- WARNING: Do not use this module directly! It is only for role internal use.\n\1/' \ - -e "s/ansible_collections.containers.podman.plugins.module_utils.podman/ansible.module_utils.${role}_lsr/" \ - $role/library/$module -done - -# containers.podman: -# - module_utils: -# - Module_util common for the podman role -module_map=( ["common.py"]="podman" ) -for module in "${!module_map[@]}"; do - role="${module_map[${module}]}" - if [ ! -d $role/module_utils/${role}_lsr ]; then - mkdir -p $role/module_utils/${role}_lsr - fi - cp -pL .external/containers/podman/plugins/module_utils/podman/$module $role/module_utils/${role}_lsr/$module -done - # remove the temporary .external directory after vendoring rm -rf .external +# fix python imports to point from the old name to the new name +for dest in "${!dests[@]}"; do + role="${dests["$dest"]}" + for module in "${modules[@]}"; do + python_name="$(dirname "$module")" + python_name="${python_name////[.]}" + sed -e "s/ansible_collections[.]${python_name}[.]/ansible.modules./" -i "$dest" + done + for mod_util in "${mod_utils[@]}"; do + # some mod_utils have subdirs, some do not + split=(${mod_util//// }) + python_name="ansible_collections[.]${split[0]}[.]${split[1]}[.]plugins[.]module_utils[.]" + sed -e "s/${python_name}/ansible.module_utils.${role}_lsr./" -i "$dest" + done + for plugin in "${collection_plugins[@]}"; do + python_name="$(dirname "$plugin")" + dest_python_name="%{collection_namespace}/%{collection_name}/plugins${python_name/#*plugins/}" + src_python_name="ansible_collections.${python_name////[.]}" + dest_python_name="ansible_collections.${dest_python_name////.}" + sed -e "s/${src_python_name}/${dest_python_name}/" -i "$dest" + done +done + # Replacing "linux-system-roles.rolename" with "rhel-system-roles.rolename" in each role # Replacing "fedora.linux_system_roles." with "redhat.rhel_system_roles" in each role # This is for the "roles calling other roles" case # for podman, change the FQCN - using a non-FQCN module name doesn't seem to work, # even for the legacy role format -# replace community.general for rhc for rolename in %{rolenames}; do - find $rolename -type f -exec \ + find "$rolename" -type f -exec \ sed -e "s/linux-system-roles[.]${rolename}\\>/%{roleinstprefix}${rolename}/g" \ -e "s/fedora[.]linux_system_roles[.]/%{collection_namespace}.%{collection_name}./g" \ -e "s/containers[.]podman[.]/%{collection_namespace}.%{collection_name}./g" \ -e "s/community[.]general[.]/%{collection_namespace}.%{collection_name}./g" \ + -e "s/ansible[.]posix[.]/%{collection_namespace}.%{collection_name}./g" \ -i {} \; done